package com.kingyea.mobilepolice.apimanage.paraminfo.dao;

import com.kingyea.mobilepolice.apimanage.paraminfo.bean.ParamInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Mr.Lin
 * @version v1.0.0
 * @description ParamInfoMapper
 * @date Created in 2018-03-11 11:20:05
 */
@Repository
public interface ParamInfoMapper {

    /**
     * 通过ID获取对象
     */
    ParamInfo getById(@Param("id") Integer id);

    /**
     * 通过ID删除对象
     */
    void deleteById(@Param("id") Integer id);

    /**
     * 更新对象
     */
    void update(ParamInfo obj);

    /**
     * 保存对象
     */
    void save(ParamInfo obj);

    /**
     * 查询列表
     */
    List<ParamInfo> list(ParamInfo obj);

    /**
     * 根据接口id删除相关参数信息
     */
    void deletesByServiceId(@Param("serviceId") Integer serviceId);

    ParamInfo getByNameAndServiceId(@Param("name") String name, @Param("serviceId") Integer serviceId);

    /**
     * 查找除了自己外有没有其它记录用了 name 和 serviceId 组合主键
     */
    ParamInfo getByNameAndServiceIdAndExcludeID(@Param("name") String name, @Param("serviceId") Integer serviceId, @Param("id") Integer id);

    List<ParamInfo> getByServiceId(@Param("serviceId") Integer serviceId);
}
